Interrogation Functions

int Dim(void)

Returns the dimension of the space.

char* Name(char* buf)

Fills in the specified buffer with the debug name of the space, and returns a pointer to the buffer.

SpaceType Holds(void)

Returns the type of space currently held by the space.

Basis StdBasis(void)

Returns the ``standard basis'' for the space.

SRel SpaceRelation(Space& s)

Returns a tag that says how space s is related to this space.

SRel ThisSpaceIs(void)

Returns a tag that gives the position of this space in the six-space set.

Boolean HasSpace(SRel s)

Returns TRUE if there exists a space in the six-space set that sits in relation s to this space. Since spaces are created lazily, the function returns FALSE if the space has not been created yet.

Space GetSpace(SRel s)

Returns the space that sits in relation s to this space.

AffineMap AffineMapTo(SRel s)

Returns the affine map to the space that sits in relation s to this space, if it exists. Only valid if this space is an affine, linearization, or projective completion space.

ProjectiveMap ProjectiveMapTo(SRel s)

Returns the projective map to the space that sits in relation s to this space, if it exists. Not valid if this space is not a linearization or projective completion space.

LinearMap LinearMapTo(SRel s)

Returns the linear map to the space that sits in relation s to this space, if it exists. Not valid if this space is not a linearization or tangent space.

VSpace Dual(void)

Returns the dual space to this space. Only valid if this space is a vector space.

Simplex StdSimplex(void)

Returns the ``standard simplex'' for this space. Only valid if this space is an affine space.

Boolean IsEuclidean(void)

Returns TRUE if this space is a Euclidean space, FALSE otherwise.

MLM InnerProduct(void)

Returns the inner product for this space. Only valid if this space is a Euclidean vector space.

MLM CrossProduct(void)

Returns the cross product for this space. Only valid if this space is a Euclidean vector space.

GeObList PtsAtInfinity(void)

Returns a list of points that span the set of points at infinity. The list will be empty unless this space is a projective space with a standard affine subset.

SubSet FullSet(void)

Returns a subset that contains all objects in the space.

PSubSet FullProjSet(void)

Returns a projective subset containing all the projective points or vector equivalence classes in a space. Not valid for affine spaces.

ASubSet StdAffineSubset(void)

Returns the standard affine subset for a space.

GeObType NativeType(void)

Returns a tag indicating what the native type of object is for a space (e.g. Vectors for a vector space that is not a tangent space, AVectors for tangent spaces, PPoints for projective spaces).